package com.yiyi.credit.manage.model.entity;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import javax.persistence.Column;
import javax.persistence.Table;
import java.math.BigDecimal;

@ApiModel(value = "站点产品实体")
@Table(name = "sub_product")
public class SubProduct extends Product {

    @Column(name = "closed_period", columnDefinition = "集合标-封闭期限")
    @ApiModelProperty(value = "集合标-封闭期限")
    private Integer closedPeriod;

    @Column(name = "closed_period_unit", columnDefinition = "集合标-封闭期限单位（1：天，2：月）")
    @ApiModelProperty(value = "集合标-封闭期限单位（1：天，2：月）")
    private Integer closedPeriodUnit;

    @Column(name = "product_period", columnDefinition = "集合标-产品期限")
    @ApiModelProperty(value = "集合标-产品期限")
    private Integer productPeriod;

    @Column(name = "product_period_unit", columnDefinition = "产品期限单位（1：天，2：月）")
    @ApiModelProperty(value = "产品期限单位（1：天，2：月）")
    private Integer productPeriodUnit;

    @Column(name = "substation_id", columnDefinition = "站点id")
    @ApiModelProperty(value = "站点id")
    private Long substationId;

    @Column(name = "main_product_id", columnDefinition = "金融产品id")
    @ApiModelProperty(value = "金融产品id")
    private Long mainProductId;

    @Column(name = "applicate_target", columnDefinition = "适用对象（1：所有，2：普通会员，3：黄金会员，4：白金会员，5：钻石会员）")
    @ApiModelProperty(value = "适用对象（1：所有，2：普通会员，3：黄金会员，4：白金会员，5：钻石会员）")
    private Integer applicateTarget;

    @Column(name = "channel", columnDefinition = "市场渠道")
    @ApiModelProperty(value = "市场渠道")
    private String channel;

    @Column(name = "publish_channel", columnDefinition = "发布渠道（1：所有，2：pc，3：app，4，微信）")
    @ApiModelProperty(value = "发布渠道（1：所有，2：pc，3：app，4，微信）")
    private Integer publishChannel;

    @Column(name = "product_desc", columnDefinition = "产品介绍")
    @ApiModelProperty(value = "产品介绍")
    private String productDesc;

    @Column(name = "income_type", columnDefinition = "站点集合标产品的收益模式，1固定收益模式2浮动收益模式")
    @ApiModelProperty(value = "站点集合标产品的收益模式，1固定收益模式2浮动收益模式")
    private Integer incomeType;

    @Column(name = "fixed_rate", columnDefinition = "固定收益率")
    @ApiModelProperty(value = "固定收益率")
    private BigDecimal fixedRate;

    @Column(name = "add_interest_rate", columnDefinition = "加息率")
    @ApiModelProperty(value = "加息率")
    private BigDecimal addInterestRate;

    @ApiModelProperty("还款方式， 1：一次性还本付息, 2：等额本息")
    private Short repaymentType;

    @ApiModelProperty("起息方式，1：投资次日，2：满标次日")
    private Short interestStartType;

    @Column(name = "low_rate", columnDefinition = "散标-收益范围（最小值）")
    @ApiModelProperty(value = "散标-收益范围（最小值）")
    private BigDecimal lowRate;

    @Column(name = "high_rate", columnDefinition = "散标-收益范围（最大值）")
    @ApiModelProperty(value = "散标-收益范围（最大值）")
    private BigDecimal highRate;

    public BigDecimal getLowRate() {
        return lowRate;
    }

    public void setLowRate(BigDecimal lowRate) {
        this.lowRate = lowRate;
    }

    public BigDecimal getHighRate() {
        return highRate;
    }

    public void setHighRate(BigDecimal highRate) {
        this.highRate = highRate;
    }

    public Long getSubstationId() {
        return substationId;
    }

    public void setSubstationId(Long substationId) {
        this.substationId = substationId;
    }

    public Long getMainProductId() {
        return mainProductId;
    }

    public void setMainProductId(Long mainProductId) {
        this.mainProductId = mainProductId;
    }

    public Integer getApplicateTarget() {
        return applicateTarget;
    }

    public void setApplicateTarget(Integer applicateTarget) {
        this.applicateTarget = applicateTarget;
    }

    public String getChannel() {
        return channel;
    }

    public void setChannel(String channel) {
        this.channel = channel;
    }

    public Integer getPublishChannel() {
        return publishChannel;
    }

    public void setPublishChannel(Integer publishChannel) {
        this.publishChannel = publishChannel;
    }

    public String getProductDesc() {
        return productDesc;
    }

    public void setProductDesc(String productDesc) {
        this.productDesc = productDesc;
    }

    public Integer getIncomeType() {
        return incomeType;
    }

    public void setIncomeType(Integer incomeType) {
        this.incomeType = incomeType;
    }

    public BigDecimal getFixedRate() {
        return fixedRate;
    }

    public void setFixedRate(BigDecimal fixedRate) {
        this.fixedRate = fixedRate;
    }

    public BigDecimal getAddInterestRate() {
        return addInterestRate;
    }

    public void setAddInterestRate(BigDecimal addInterestRate) {
        this.addInterestRate = addInterestRate;
    }

    public Integer getClosedPeriod() {
        return closedPeriod;
    }

    public void setClosedPeriod(Integer closedPeriod) {
        this.closedPeriod = closedPeriod;
    }

    public Integer getClosedPeriodUnit() {
        return closedPeriodUnit;
    }

    public void setClosedPeriodUnit(Integer closedPeriodUnit) {
        this.closedPeriodUnit = closedPeriodUnit;
    }

    public Integer getProductPeriod() {
        return productPeriod;
    }

    public void setProductPeriod(Integer productPeriod) {
        this.productPeriod = productPeriod;
    }

    public Integer getProductPeriodUnit() {
        return productPeriodUnit;
    }

    public void setProductPeriodUnit(Integer productPeriodUnit) {
        this.productPeriodUnit = productPeriodUnit;
    }

    public Short getRepaymentType() {
        return repaymentType;
    }

    public void setRepaymentType(Short repaymentType) {
        this.repaymentType = repaymentType;
    }

    public Short getInterestStartType() {
        return interestStartType;
    }

    public void setInterestStartType(Short interestStartType) {
        this.interestStartType = interestStartType;
    }
}